package com.example.java.sort;

import java.util.Arrays;

/**
 * 冒泡排序
 * @author SOAL
 *
 */
public class BubbleSort {
	
	public static void main(String[] args) {
		int[] a = { 1, 2, 4, 7, 5, 8, 6, 3, 9 };
		System.out.println(Arrays.toString(a));
		bubbleSort(a);
		System.out.println(Arrays.toString(a));
	}

	public static void bubbleSort(int[] a) {
		int len = a.length;
		for (int i = 0; i < len; i++) {//循环次数
			for (int j = 0; j < len - 1 - i; j++) { //开始比较的位数，和结束的位数。
				if (a[j] > a[j + 1]) { //两两比较，将最小的放到前面去。
					int p = a[j];
					a[j] = a[j + 1];
					a[j + 1] = p;
				}
			}
		}

	}
	  
		/*冒泡排序
		很简单，用到的很少，据了解，面试的时候问的比较多！
		将序列中所有元素两两比较，将最大的放在最后面。
		将剩余序列中所有元素两两比较，将最大的放在最后面。
		重复第二步，直到只剩下一个数。
		代码实现：
		设置循环次数。
		设置开始比较的位数，和结束的位数。
		两两比较，将最小的放到前面去。
		重复2、3步，直到循环次数完毕。*/
}
